Automatic wafer data sample planning and review

ABSTRACT

A method of constructing a mask for use in semiconductor device manufacturing is disclosed. A first shape that is related to mask construction is selected from a set of shapes. A second shape related to the mask construction is selected from the set of shapes. The first shape and the second shape are represented using a first shape vector and a second shape vector, respectively. A cluster is formed that includes the first shape and the second shape when the first shape vector and the second shape vector are within a selected criterion.

BACKGROUND

The present disclosure relates generally to semiconductor manufacturingand, in particular, to a method of selecting mask patterns used insemiconductor device manufacturing resolution enhancement techniques; inparticular for optical proximity correction (OPC) and resist modelcalibration.

When developing a process to manufacture chips at a new technology nodeor resolution scale, a number of preprocessing steps are developed toguarantee yield of the scaled down device features. One of these stepsis the optical proximity correction (OPC) tool which is part ofresolution enhancement techniques (RET) used to shape the mask forbetter yield. To calibrate and verify OPC's optical and resist models,one or more patterns are selected that produce features of theintegrated chip within selected specifications. For each new OPCversion, design of the mask begins from scratch. Typically, the patternsare pulled from a library of patterns and a modeler enters into aprocess of selecting those patterns that are to be used in the mask. Theset of patterns pulled from the library and used in the mask are calledsample plan (SP). The final set of patterns used in the OPC modelscalibration and verification are further selected based on theirrespective wafer image quality criteria. Several sub-processes of thisprocess are currently performed manually, and are therefore slow tocomplete. Typical time frames for completing the entire selectionprocess may take weeks.

SUMMARY

According to one embodiment, a method of constructing a mask for use insemiconductor device manufacturing includes: selecting, using aprocessor, a first shape related to mask construction from a set ofshapes; selecting a second shape related to the mask construction fromthe set of shapes; representing the first shape and the second shapeusing a first shape vector and a second shape vector; and forming acluster that includes the first shape with the second shape when thefirst shape vector and the second shape vector are within a selectedcriterion.

According to another embodiment, a computer program product includes acomputer readable storage medium having computer readable program codeembodied therewith, the computer readable program code comprisinginstructions, that when executed by a computer, implement a method ofconstructing a mask for use in semiconductor device manufacturing,wherein the method includes: selecting a first shape related to maskconstruction from a set of shapes; selecting a second shape related tothe mask construction from the set of shapes; representing the firstshape and the second shape using a first shape vector and a second shapevector; and forming a cluster that includes the first shape with thesecond shape when the first shape vector and the second shape vector arewithin a selected criterion.

Additional features and advantages are realized through the techniquesof the present disclosure. Other embodiments and aspects of thedisclosure are described in detail herein and are considered a part ofthe claimed disclosure. For a better understanding of the disclosurewith the advantages and the features, refer to the description and tothe drawings.

BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS

The subject matter which is regarded as the disclosure is particularlypointed out and distinctly claimed in the claims at the conclusion ofthe specification. The foregoing and other features, and advantages ofthe disclosure are apparent from the following detailed descriptiontaken in conjunction with the accompanying drawings in which:

FIG. 1 shows an exemplary photolithography system for printing a pattern(forming a contour) on a wafer;

FIG. 2 illustrates various shapes descriptive of difficulties inintegrated chip contour formation;

FIG. 3 shows a flowchart illustrating an exemplary method of selecting aset of patterns for use in optical proximity correction and resist modelcalibration and verification;

FIG. 4 shows exemplary set of shapes that may be grouped into a clusteraccording to a selected criterion;

FIG. 5 shows an exemplary method of the present disclosure for selectinga pattern from an initial pattern library I for inclusion in a sampleplan set SP;

FIG. 6 shows a flowchart illustrating an exemplary method of selecting apattern from sample plan set SP for inclusion in a final set F;

FIG. 7 shows an exemplary contour formed on a wafer substrate using apattern;

FIG. 8 shows two exemplary windows of the image of FIG. 7;

FIG. 9 shows outlines obtained using various segmentation procedures onthe window of FIG. 8;

FIG. 10 shows the various outlines obtained from the contours shown inFIG. 9; and

FIG. 11 is a schematic block diagram of a general-purpose computingsystem suitable for practicing embodiments of the present invention.

DETAILED DESCRIPTION

FIG. 1 shows an exemplary photolithography system 100 for forming acontour on a wafer. A mask 102 is held at a selected position withrespect to the wafer or wafer substrate 104. The mask may have a pattern106 formed therein. When exposed to a light source 110, such as anultraviolet light source, a shape or contour 108 is formed at alight-sensitive photoresist on the wafer substrate 104 having a shapesimilar to the pattern 106. The shape 108 formed in the wafer substrate104 may be a three-dimensional shape in various embodiments. Chemicaltreatment of the wafer substrate then engraves the shape 108 onto thewafer substrate 104. The exemplary shape 108 may be part of anintegrated circuit design printed on a wafer substrate 104. A printedintegrated circuit design generally includes a plurality of shapes thatare combined to construct the integrated circuit. The mask 102 mayinclude a plurality of patterns to print the plurality of shapes of theintegrated circuit. In exemplary integrated circuit design, it isdesired that a shape 108 formed in the wafer has clean edges and sharpcorners. However, due to various physical realities such as diffractioneffects, pattern location within the mask, etc., exemplary shape 108 mayhave rough edges and/or rounded corners, may have a two-dimensionalshape, or other malformations, having a 2D contour shape. A pattern 106is therefore selected for its suitability in forming a contour 108 thatis reasonably close to a desired pattern 106.

FIG. 2 illustrates various shapes descriptive of difficulties inintegrated chip contour formation. Shape 202 shows a shape that adesigner may desire to have formed at the wafer substrate 104. Theexemplary desired shape 202 includes straight lines and sharp corners.In efforts to produce desired shape 202 at the wafer substrate 104, themask 102 may include a pattern 106 having an exemplary mask shape 204 asshown in FIG. 2. The mask shape 204 differs from desired shape 202 bythe inclusion various additional features, such as polygons, thatcompensate for distortions that occur during the process of contourformation in the wafer, as illustrated in FIG. 1. Exemplary printedshape 206 is a shape of a contour that may be formed at the wafer usingexemplary mask shape 204 in the mask 102. Mask shape 204 is generallyselected to produce the contour shape 206 to closely approximate thedesired shape 202. For a given desired shape 202 of the integratedcircuit, a number of possible mask shapes 204 may be used to produce acontour shape 206 that is reasonably close to the desired shape 202.These mask shapes or patterns depend on the quality of an opticalproximity correction (OPC) and resist model, which in turn depends onthe types of patterns used for generating the OPC and resist model. Atotal selection of patterns that may be candidates for use in OPC andresist models generation may be stored in a database and selected fromthe database for integrated circuit production based on various designrules dictated by a particular integrated circuit. Exemplary patternsmay produce a variety of different contours or produce contours that aresimilar in shape but have different sizes, lengths, widths, heights,etc. Therefore, the number of patterns stored in the database may easilynumber in the hundreds of thousands.

FIG. 3 shows a flowchart illustrating an exemplary method of selecting aset of patterns for use in OPC and resist model calibration andverification. The exemplary method may begin in box 202 when a modelerassembles an initial library I of patterns that may be suitable for anexemplary integrated circuit design. The initial library I is generallyassembled based on various design rules. Exemplary design rules mayinclude a width rule specifying a minimum width a pattern (reflecting anexpected minimum width of a contour on the wafer), a spacing rule thatspecifies a minimum distance between two adjacent pattern shapes(reflecting an expected minimum distance between two adjacent contours),etc., and are generally based on the specifications of the integratedcircuit. In box 304, a sample plan set SP is selected from the initiallibrary (I) of patterns. Patterns are generally selected to be in thesample plan set SP based on their ability to produce the desiredfeatures on the wafer. In other words, the various shapes of the waferfeatures, i.e., straight lines, curves, corners, etc. dictate selectionof the sample plan set SP. Details of box 304 are discussed further withrespect to FIG. 5. In box 306, once the sample plan set SP is selected,for each pattern in the sample plan, a plurality of contours M is formedat a test wafer. An image, such as a scanning electron microscope (SEM)image or other suitable data, of the plurality of contours is formed. Inbox 308, the contours may be compared with each other and to the patternvector (i.e., mask patterns) to reduce the sample plan set to obtain afinal “clean” data set F. Details of box 308 are discussed further withrespect to FIG. 6. In box 310, the clean data set F may then be used tocalibrate and verify the OPC and resist models based on the clean SPdata.

In various manufacturing processes, the act of obtaining a sample planset SP from an initial pattern library I (box 304) is often donemanually and is therefore generally a long process, often taking severalweeks to complete. Attempts using Image Parameters (IP) to partiallyautomate the selected process are hindered by the fact that IPs do notdescribe uniquely the patterns. Similarly, obtaining a clean data set Ffrom the sample plan set SP (box 308) is a manual process that alsooften takes several weeks. The present disclosure therefore provides amethod of reducing an amount of time to perform the actions of boxes 304and 308.

FIG. 4 shows exemplary set of shapes, such as mask patterns 411-416,that may be grouped into a cluster according to a selected criterion.Exemplary mask patterns generally include a same number of polygons,etc. Locations of the polygons within the mask vary with respect to eachother from one mask pattern to the next. Each mask pattern 411-416 maybe quantified by an exemplary vector as shown below in Table 1. Eachcolumn of Table 1 includes coefficient values that are representative ofthe pattern named at the top of the column.

TABLE 1 Pattern 411 Pattern 412 Pattern 413 Pattern 414 Pattern 415Pattern 416 2.1182 1.7223 2.1211 0.9890 1.7648 1.1049 −i0.7130 −i1.5202−i0.5262 −i1.9663 −i1.2527 −i1.6541 0.2688− −0.4201 −0.0163 0.4624−0.6363 0.1580 i0.3195 −i0.8640 −i0.4218 −i0.8152 −i0.9118 −i0.86790.1004 0.3917 −0.1105 0.3109 0.1517 0.0790 +i0.3405 +i0.1395 −i0.0126−i0.1290 −i0.1935 −i0.4352 0.1024 0.0443 0.0986 −0.0369 0.0463 −0.0268+i0.5162 +i0.5482 −i0.3435 +i0.1306 −i0.3148 +i0.6906 0.2614 −0.03360.1186 0.0592 −0.1469 −0.0634 +i0.0228 +i0.1830 −i0.0314 +i0.1626+i0.1128 +i0.0944 0.1575 0.1447 −0.1734 0.2343 −0.1849 −0.1042 −i0.0898−i0.0468 −i0.0527 +i0.0816 −i0.0140 +i0.1017 0.0583 0.0620 −0.15970.1424 −0.1564 −0.0840 +i0.0616 +i0.1592 −i0.1542 +i0.1527 −i0.0663−i0.0722 0.1499 −0.0316 0.2190 −0.3006 0.0557 −0.1864 −i0.1047 +i0.0745−i0.0472 −i0.0344 +i0.1141 +i0.0162 −0.0559 −0.1233 −0.0513 −0.0048−0.1119 −0.0052 +i0.0204 −i0.0834 −i0.0253 −i0.0578 −i0.1187 −i0.0957The exemplary vectors of Table 1 may be Fourier coefficients of thepatterns or, alternately, may be coefficients obtained through anotherpattern transformation process or pattern quantification process.

To asses the similarity between exemplary patterns 411-416, severalsimilarity criteria may be used. In an exemplary embodiment, an L²distance between two pattern vectors may be determined. L² distances forthe exemplary mask patterns of FIG. 4 and Table 1 are shown below inTable 2.

TABLE 2 Patterns 412 413 414 415 416 411 0.2834 0.2254 0.4985 0.36120.5760 412 0.3678 0.2834 0.2254 0.3479 413 0.5992 0.2551 0.4486 4140.3830 0.2295 415 0.2551When the L²-distance is smaller than a selected threshold (for example,a threshold value of Thr=0.9005), then the patterns, even though theyare not exactly the same, may be grouped in a same cluster. Thus, theexemplary patterns 411-416 may be grouped in a same cluster.

Various vectors may be compared to achieve selected outcomes. In oneembodiment, the first shape may be a first contour formed in a waferfrom a selected pattern and the second shape may be a second contourformed in the wafer from the selected pattern. In this embodiment, afirst vector may be extracted from the first contour and a second vectormay be extracted from the second contour to perform at least one of:determining a sensitivity of printing the pattern to at least a processparameter; and selecting at least one of the first contour and thesecond contour for inclusion in a first data set according to aninclusion criterion.

In another embodiment, the first shape may be a first contour formed ina wafer from a first pattern and the second shape may be a secondcontour formed in the wafer from a second pattern. In this embodiment, afirst vector extracted from the first contour and a second vectorextracted from a second contour may be compared to form a cluster ofcontours when the first contour vector and the second contour vector arewithin a selected criterion.

In another embodiment, the first shape may be a pattern and the secondshape may be a contour formed in the wafer from the selected pattern. Apattern vector extracted from the pattern may be compared to a contourvector extracted from the contour to perform at least one of: examiningan image quality of the contour; and examining a measurement quality ofa contour. Furthermore, comparing the pattern vector to itscorresponding contour vector may enable the modeler to determining asensitivity of printing the pattern to at least a process parameterand/or determining a location of a maximum distance between the patternin the mask and the contour as the location for the measurement.Contours that fail to form a feature having a same topological structureas its corresponding pattern may be removed and stored for use in modelverification.

FIG. 5 shows an exemplary method of the present disclosure for selectinga pattern from an initial pattern library I for inclusion in a sampleplan set SP. In box 502, an initial pattern library I is assembledaccording to design rules. The patterns of library I may be criticalpatterns, as determined generally from previous tests and/or waferdesign experience. The patterns of library I may be patterns that areimportant to wafer design or patterns that are generally problematic inwafer design imaging. In various embodiments, the patterns of set Iproduce the entire set of contours that are to be formed in the selectedintegrated circuit. In box 504, a vector, or pattern vector, isextracted from each pattern of the initial set of patterns. In oneembodiment, a vector extracted from a pattern may include, for example,a set of coefficients of a Fourier transform of the pattern or othersuitable coefficients. In box 506, patterns of the initial set areclustered together based on their extracted vectors. For example,patterns are clustered when their extracted vectors are within aselected criterion of each other. A cluster of patterns may thereforeinclude patterns capable of substantially forming the same contour atthe wafer. Thus, clusters may be formed for line patterns, cornerpatterns, edge patterns, etc. The elements of the extracted vector maydescribe a shape of the pattern but may also include terms thatrepresent diffraction effects for the pattern, for example.

In box 508, one or more representative patterns are selected from apattern cluster. Various criteria may be used to select the one or morerepresentative patterns from the pattern cluster. For example, a patternmay be selected due to its ability to print a “difficult” contour.Contour difficulty may be estimated using an algorithm performed on thepattern vector, and may also be measured via a parameter known as alitho-difficulty estimator (LDE). Also, a pattern may be selected forits sensitivity to various process parameters, and/or its imageparameters. Sensitivity parameters may also be used. Pattern selectiontherefore may include selecting an LDE and/or a sensitivity and/or imageparameter that meets selected criteria. In general, a selected patternhas an associated LDE and/or sensitivity and/or set of image parametersthat may be stored in a database and that may therefore be compared toselected criteria using a processor. From any given cluster, one mayselect more than one representative element. The SP set may thereforeinclude a subset of representative elements. Pattern selection iscomplete when all of the contours of the integrated circuit areprintable using the selected patterns. The selected patterns of set SPthereby produce substantially all contours of the integrated circuit,including various configurations of lines, corners, end-of-lines, andother shapes of the integrated circuit.

FIG. 6 shows a flowchart illustrating an exemplary method of selecting apattern from sample plan set SP for inclusion in a final set (clean dataset F). In box 602, the sample plan set SP of patterns is printed togenerate a set M of contours on one or more wafers under differentlithographic process conditions. Each pattern of the sample plan set isused to create a plurality of contours at several locations in thewafer. In box 604, contour vectors are determined for the plurality ofcontours. In box 606, a quality of the contour is evaluated. In anexemplary embodiment for determining image quality, the quality of thecontour may be evaluated by its smoothness, or by measuring Line EdgeRoughness (LER), by measuring the width of the contour (or the distancebetween adjacent contour) across several slices parallel to themeasurement gauge. In another exemplary embodiment for determiningmeasurement accuracy, a center of gravity of the pattern is determinedand a center of gravity of the contour is determined. These centers ofgravity may be compared to each other, and when the centers of gravityare within a selected criterion of the same location (e.g., the locationof the gauge measurement), the quality of the measurement of the contourmay be considered acceptable. In box 608, when the image quality of themeasurement accuracy is not acceptable, then the image and itsrespective measurement are dropped from consideration (box 610). Whenthe image quality and the measurement are considered acceptable, themethod proceeds to box 612.

In box 612, outlier contours are identified. An outlier may include acontour that fails to substantially reproduce the desired shape. Forexample, the desired shape may include two lines, while the outliercontour may include only one line (i.e., a closed contour). Alternately,the desired shape may include one line, while the outlier contourincludes two lines (i.e., an open contour). The contours are compared tothe mask patterns. Alternately, contour vectors may be compared tocorresponding pattern vectors. If the contours vary significantly fromthe shapes of the mask patterns, then the contours are denoted asoutliers. In box 612, if the contour is identified as an outlier, thecorresponding pattern is removed from consideration so that it is notincluded in the final sample set F in box 614. The removed pattern ishowever retained for verification purposes. If the contour is not anoutlier, the method proceeds to box 616.

In box 616, the remaining contours are clustered. This can be done bychecking the similarity of the fitted contours or by comparing theircontour vectors, using the method discussed with respect to Tables 1 and2 above. In one embodiment, contours may be clustered by comparingtopological elements of the contours. An exemplary topological elementmay include a pair of lines that converge to form a single line or,alternately, a single line that splits into a pair of lines. A count ofthe topological elements and a mapping of their relation to neighboringelements may be made. Also, the similarity of the contours may bemeasured using various metrics, such as a Hausdorf distance or a Frechetdistance. As a result of counting topological elements and observingcontour similarity, it is possible to identify similar contours and/orrepetitive contours. Therefore, one may cluster several features intosimilarity classes, as well as to identify those features that do notfit into a similarity class. In an exemplary embodiment, contours may beclustered that an in a similarity class, through made from differentpatterns.

In box 618, a representative contour may be selected to represent asimilarity class. The representative contour may represent a statisticalmean of the contours in the similarity class, or be the contour of therepresentative element selected in box 508. In box 620, therepresentative contour may be compared to the pattern to identifylocations where the pattern does not print effectively. In an exemplaryembodiment, contour vector is compared to extracted pattern vector toidentify poor printing locations. The comparison of the contour with thepattern and the identification of bad locations may provide a qualitycontrol of the selected pattern the clean data F. The comparison maythus be used to refine parameters used in selecting representativepatterns from pattern clusters in future OPC models (as in box 508). Inbox 622, the selected pattern may then be included in clean data set Faccording to a selected criterion.

FIG. 7 shows an exemplary contour formed on a wafer substrate using apattern. A typical SEM image 701 of the contours is shown on the lefthand side. An edge-enhanced image 703 of the contours is shown on theright hand side. The edge-enhanced image 703 may be derived using acurve fitting algorithm on image 701. In an exemplary embodiment, aninitial set of control points are used to provide an initial outline ofthe contour, wherein the initial set of control points, i.e., pointswhere the curve fitting algorithm initializes its weights andminimization criterion, are obtained from the pattern used to form thecontour. In one embodiment, a curve fitting algorithm may derive theoutline based on cubic splines.

FIG. 8 shows two windows 801 and 803 of the image 703. The contours inthe selected areas may be compared to each other to determine thesimilarity of the contours. FIG. 9 shows the outlines obtained usingvarious segmentation procedures on the window of FIG. 8. In FIG. 9, theinitial control points and the final outlines are shown for contoursfound in the windows of FIG. 8. Window 801 of FIG. 8 is reproduced aswindows 801 i and 801 f in FIG. 9. Window 803 of FIG. 8 is reproduced aswindows 803 i and 803 f of FIG. 9. Window 801 f includes outlines 901,903 and 905 of exemplary contours displayed in window 801 f. Similarly,window 803 f includes outlines 911, 913 and 915 of exemplary contoursdisplayed in window 803E Outlines 901 and 911 may be compared to eachother to determine a consistency of contour formation at differentlocations on the substrate using a selected pattern. Similar comparisonsmay be made between outlines 903 and 913 are and between outlines 905and 815.

FIG. 10 shows the various outlines obtained from the contours shown inFIG. 9. Outlines 901, 903 and 905 of FIG. 9 are reproduced in theleft-hand column of FIG. 10. Outlines 911, 913 and 915 of FIG. 9 arereproduced in the right-hand column of FIG. 10. Hausdorff distancesbetween the contours and the parametric values (the values of the cubicsplines at the final set of points) are also displayed. Outline 901 iscompared to outline 911 to obtain a Hausdorff distance. Also, aparametric value such as a value of a cubic spline at the final pointsof the estimated contour may be obtained. Similarly, outline 903 iscompared to outline 913 to obtain a Hausdorff distance and outline 905is compared to outline 915 to obtain a Hausdorff distance. The extractedoutlines therefore are used to compare and analyze the contours of theSEM image.

Generally, the method embodiments for implementing systematic,variation-aware integrated circuit extraction may be practiced with ageneral-purpose computer and the method may be coded as a set ofinstructions on removable or hard media for use by the general-purposecomputer. FIG. 11 is a schematic block diagram of a general-purposecomputing system suitable for practicing embodiments of the presentinvention. In FIG. 11, computing system 1100 has at least onemicroprocessor or central processing unit (CPU) 1105. CPU 1105 isinterconnected via a system bus 1110 to a random access memory (RAM)1115, a read-only memory (ROM) 1120, an input/output (I/O) adapter 1125for a connecting a removable data and/or program storage device 1130 anda mass data and/or program storage device 1135, a user interface adapter1140 for connecting a keyboard 1145 and a mouse 1150, a port adapter1155 for connecting a data port 1160 and a display adapter 1165 forconnecting a display device 1170.

ROM 1120 contains the basic operating system for computing system 1100.The operating system may alternatively reside in RAM 1115 or elsewhereas is known in the art. Examples of removable data and/or programstorage device 1130 include magnetic media such as floppy drives andtape drives and optical media such as CD ROM drives. Examples of massdata and/or program storage device 1135 include hard disk drives andnon-volatile memory such as flash memory. In addition to keyboard 1145and mouse 1150, other user input devices such as trackballs, writingtablets, pressure pads, microphones, light pens and position-sensingscreen displays may be connected to user interface 1140. Examples ofdisplay devices include cathode-ray tubes (CRT) and liquid crystaldisplays (LCD).

A computer program with an appropriate application interface may becreated by one of skill in the art and stored on the system or a dataand/or program storage device to simplify the practicing of thisinvention. In operation, information for or the computer program createdto run the present invention is loaded on the appropriate removable dataand/or program storage device 1130, fed through data port 1160 or typedin using keyboard 1145.

In view of the above, the present method embodiments may therefore takethe form of computer or controller implemented processes and apparatusesfor practicing those processes. The disclosure can also be embodied inthe form of computer program code containing instructions embodied intangible media, such as floppy diskettes, CD-ROMs, hard drives, or anyother computer-readable storage medium, wherein, when the computerprogram code is loaded into and executed by a computer or controller,the computer becomes an apparatus for practicing the invention. Thedisclosure may also be embodied in the form of computer program code orsignal, for example, whether stored in a storage medium, loaded intoand/or executed by a computer or controller, or transmitted over sometransmission medium, such as over electrical wiring or cabling, throughfiber optics, or via electromagnetic radiation, wherein, when thecomputer program code is loaded into and executed by a computer, thecomputer becomes an apparatus for practicing the invention. Whenimplemented on a general-purpose microprocessor, the computer programcode segments configure the microprocessor to create specific logiccircuits. A technical effect of the executable instructions is toimplement the exemplary method described above and illustrated in FIGS.3-10.

As will be appreciated by one skilled in the art, aspects of the presentdisclosure may be embodied as a system, method or computer programproduct. Accordingly, aspects of the present disclosure may take theform of an entirely hardware embodiment, an entirely software embodiment(including firmware, resident software, micro-code, etc.) or anembodiment combining software and hardware aspects that may allgenerally be referred to herein as a “circuit,” “module” or “system.”Furthermore, aspects of the present disclosure may take the form of acomputer program product embodied in one or more computer readablemedium(s) having computer readable program code embodied thereon.

Any combination of one or more computer readable medium(s) may beutilized. The computer readable medium may be a computer readable signalmedium or a computer readable storage medium. A computer readablestorage medium may be, for example, but not limited to, an electronic,magnetic, optical, electromagnetic, infrared, or semiconductor system,apparatus, or device, or any suitable combination of the foregoing. Morespecific examples (a non-exhaustive list) of the computer readablestorage medium would include the following: an electrical connectionhaving one or more wires, a portable computer diskette, a hard disk, arandom access memory (RAM), a read-only memory (ROM), an erasableprogrammable read-only memory (EPROM or Flash memory), an optical fiber,a portable compact disc read-only memory (CD-ROM), an optical storagedevice, a magnetic storage device, or any suitable combination of theforegoing. In the context of this document, a computer readable storagemedium may be any tangible medium that can contain, or store a programfor use by or in connection with an instruction execution system,apparatus or device.

A computer readable signal medium may include a propagated data signalwith computer readable program code embodied therein, for example, inbaseband or as part of a carrier wave. Such a propagated signal may takeany of a variety of forms, including, but not limited to,electro-magnetic, optical, or any suitable combination thereof. Acomputer readable signal medium may be any computer readable medium thatis not a computer readable storage medium and that can communicate,propagate, or transport a program for use by or in connection with aninstruction execution system, apparatus, or device.

Program code embodied on a computer readable medium may be transmittedusing any appropriate medium, including but not limited to wireless,wireline, optical fiber cable, RF, etc., or any suitable combination ofthe foregoing.

Computer program code for carrying out operations for aspects of thepresent disclosure may be written in any combination of one or moreprogramming languages, including an object oriented programming languagesuch as Java, Smalltalk, C++ or the like and conventional proceduralprogramming languages, such as the “C” programming language or similarprogramming languages. The program code may execute entirely on theuser's computer, partly on the user's computer, as a stand-alonesoftware package, partly on the user's computer and partly on a remotecomputer or entirely on the remote computer or server. In the latterscenario, the remote computer may be connected to the user's computerthrough any type of network, including a local area network (LAN) or awide area network (WAN), or the connection may be made to an externalcomputer (for example, through the Internet using an Internet ServiceProvider).

Aspects of the present disclosure are described below with reference toflowchart illustrations and/or block diagrams of methods, apparatus(systems) and computer program products according to embodiments of thedisclosure. It will be understood that each block of the flowchartillustrations and/or block diagrams, and combinations of blocks in theflowchart illustrations and/or block diagrams, can be implemented bycomputer program instructions. These computer program instructions maybe provided to a processor of a general purpose computer, specialpurpose computer, or other programmable data processing apparatus toproduce a machine, such that the instructions, which execute via theprocessor of the computer or other programmable data processingapparatus, create means for implementing the functions/acts specified inthe flowchart and/or block diagram block or blocks.

These computer program instructions may also be stored in a computerreadable medium that can direct a computer, other programmable dataprocessing apparatus, or other devices to function in a particularmanner, such that the instructions stored in the computer readablemedium produce an article of manufacture including instructions whichimplement the function/act specified in the flowchart and/or blockdiagram block or blocks.

The computer program instructions may also be loaded onto a computer,other programmable data processing apparatus, or other devices to causea series of operational steps to be performed on the computer, otherprogrammable apparatus or other devices to produce a computerimplemented process such that the instructions which execute on thecomputer or other programmable apparatus provide processes forimplementing the functions/acts specified in the flowchart and/or blockdiagram block or blocks.

The flowchart and block diagrams in the Figures illustrate thearchitecture, functionality, and operation of possible implementationsof systems, methods and computer program products according to variousembodiments of the present disclosure. In this regard, each block in theflowchart or block diagrams may represent a module, segment, or portionof code, which comprises one or more executable instructions forimplementing the specified logical function(s). It should also be notedthat, in some alternative implementations, the functions noted in theblock may occur out of the order noted in the figures. For example, twoblocks shown in succession may, in fact, be executed substantiallyconcurrently, or the blocks may sometimes be executed in the reverseorder, depending upon the functionality involved. It will also be notedthat each block of the block diagrams and/or flowchart illustration, andcombinations of blocks in the block diagrams and/or flowchartillustration, can be implemented by special purpose hardware-basedsystems that perform the specified functions or acts, or combinations ofspecial purpose hardware and computer instructions.

The terminology used herein is for the purpose of describing particularembodiments only and is not intended to be limiting of the disclosure.As used herein, the singular forms “a”, “an” and “the” are intended toinclude the plural forms as well, unless the context clearly indicatesotherwise. It will be further understood that the terms “comprises”and/or “comprising,” when used in this specification, specify thepresence of stated features, integers, steps, operations, elements,and/or components, but do not preclude the presence or addition of onemore other features, integers, steps, operations, element components,and/or groups thereof.

The corresponding structures, materials, acts, and equivalents of allmeans or step plus function elements in the claims below are intended toinclude any structure, material, or act for performing the function incombination with other claimed elements as specifically claimed. Thedescription of the present disclosure has been presented for purposes ofillustration and description, but is not intended to be exhaustive orlimited to the disclosure in the form disclosed. Many modifications andvariations will be apparent to those of ordinary skill in the artwithout departing from the scope and spirit of the disclosure. Theembodiment was chosen and described in order to best explain theprinciples of the disclosure and the practical application, and toenable others of ordinary skill in the art to understand the disclosurefor various embodiments with various modifications as are suited to theparticular use contemplated.

The flow diagrams depicted herein are just one example. There may bemany variations to this diagram or the steps (or operations) describedtherein without departing from the spirit of the disclosure. Forinstance, the steps may be performed in a differing order or steps maybe added, deleted or modified. All of these variations are considered apart of the claimed disclosure.

While the exemplary embodiment to the disclosure had been described, itwill be understood that those skilled in the art, both now and in thefuture, may make various improvements and enhancements which fall withinthe scope of the claims which follow. These claims should be construedto maintain the proper protection for the disclosure first described.

What is claimed is:
 1. A method of constructing a mask for use insemiconductor device manufacturing, the method comprising: selecting,using a processor, a first shape related to mask construction from a setof shapes; selecting a second shape related to the mask constructionfrom the set of shapes; representing the first shape using a first shapevector that includes coefficients that are indicative of the firstshape; and the second shape using a second shape vector that includescoefficients that are indicative of the second shape; and forming acluster that groups the first shape with the second shape when adistance metric between the coefficients of the first shape vector andthe coefficients of the second shape vector is less than a selectedcriterion.
 2. The method of claim 1, wherein the first shape is a maskpattern and the second shape is a mask pattern.
 3. The method of claim2, further comprising selecting one or more representative patterns fromthe formed cluster using a selected criterion.
 4. The method of claim 3,further comprising using an extracted contour vector to select therepresentative pattern.
 5. The method of claim 3, wherein the selectedcriterion includes at least one of: a difficulty of printing thepattern; a sensitivity of the pattern to process parameters; and anability of the patterns to cover an image parameters space.
 6. Themethod of claim 1, wherein the first shape is a first contour formed ina wafer from a selected pattern and the second shape is a second contourformed in the wafer from the selected pattern.
 7. The method of claim 6,further comprising comparing a first vector extracted from the firstcontour and a second vector extracted from the second contour to performat least one of: determining a sensitivity of printing the pattern to atleast a process parameter; and selecting at least one of the firstcontour and the second contour for inclusion in a first data setaccording to an inclusion criterion.
 8. The method of claim 6, furthercomprising comparing a contour vector to a corresponding pattern vectorto perform at least one of: determining a sensitivity of printing thepattern to at least a process parameter; and determining a location of amaximum distance between the pattern in the mask and the contour as thelocation for the measurement.
 9. The method of claim 1, wherein thefirst shape is a first contour formed in a wafer from a first patternand the second shape is a second contour formed in the wafer from asecond pattern.
 10. The method of claim 9, further comprising comparinga first vector extracted from the first contour and a second vectorextracted from a second contour to form a cluster of contours when thefirst contour vector and the second contour vector are within a selectedcriterion.
 11. The method of claim 9 further comprising removing apattern that fails to form a feature having a same topological structureas the pattern for use in model verification.
 12. The method of claim 1,wherein the first shape is a pattern and the second shape is a contourformed in the wafer from the selected pattern, further comprisingcomparing a pattern vector extracted from the pattern to a contourvector extracted from the contour to perform at least one of: examiningan image quality of the contour; and examining a measurement quality ofa contour.
 13. A non-transitory computer readable storage medium havingcomputer readable program code embodied therewith, the computer readableprogram code comprising instructions that, when executed by a processor,enable the processor to construct a mask for use in semiconductor devicemanufacturing, wherein the computer-readable program code includesinstructions to: select a first shape related to mask construction froma set of shapes; select a second shape related to the mask constructionfrom the set of shapes; represent the first shape using a first shapevector that includes coefficients that are indicative of the first shapeand the second shape using a second shape vector that includescoefficients that are indicative of the second shape; and form a clusterthat groups the first shape with the second shape when a distance metricbetween the coefficients of the first shape vector and the coefficientsof the second shape vector is less than a selected criterion.
 14. Thenon-transitory computer readable storage medium of claim 13, wherein thefirst shape and the second shape are at least one of: (i) a first maskpattern and a second mask pattern; (ii) a first contour formed in awafer from a selected pattern and a second contour formed in the waferfrom the selected pattern; and (iii) a first contour formed in a waferfrom a first pattern and a second contour formed in the wafer from asecond pattern.
 15. The non-transitory computer readable storage mediumof claim 14, wherein the first shape is a first contour formed from theselected pattern and the second shape is a second contour formed fromthe selected pattern, the method further comprising comparing a firstvector extracted from the first contour and a second vector extractedfrom the second contour to perform at least one of: determining asensitivity of printing the pattern to at least a process parameter; andselecting at least one of the first contour and the second contour forinclusion in a first data set according to an inclusion criterion. 16.The non-transitory computer readable storage medium of claim 15, furthercomprising using an extracted contour vector to select a representativecontour from the cluster of contours.
 17. The non-transitory computerreadable storage medium of claim 13, further comprising selecting one ormore representative patterns from the formed cluster using a selectedcriterion.
 18. The non-transitory computer readable storage medium ofclaim 13, wherein the selected criterion includes at least one of: adifficulty of printing the pattern; a sensitivity of the pattern toprocess parameters; and an ability of the patterns to cover an imageparameter space.